﻿using System;
using System.IO;

namespace PBO.Data
{
    /// <summary>
    /// Details:
    /// 0 Contact
    /// 1 Sound
    /// 2 KingRock
    /// 3 Snatchable
    /// 4 AttackAtTarget
    /// 5 Substitute
    /// 6 Protectable
    /// 7 Punch
    /// </summary>
    [Serializable()]
    public class MoveData : GameElement
    {
        public static readonly MoveData Empty = new MoveData() { Id = 0 };

        public MoveData()
        {
            this.Details = new bool[8];
            //0.接触, 1.声音, 7.拳击, 2.王证, 3.抢夺
        }

        #region props

        public int Accuracy { get; internal set; }
        public MoveAdditionalEffect AddEffect1 { get; internal set; }
        public MoveAdditionalEffect AddEffect2 { get; internal set; }
        public int AddEffectOdds { get; internal set; }
        public bool[] Details { get; internal set; }
        public MoveEffect Effect { get; internal set; }
        public MoveCategory Category { get; internal set; }
        public string Name { get; internal set; }
        public string OldName { get; internal set; }
        public int Power { get; internal set; }
        public int PP { get; internal set; }
        public int Priority { get; internal set; }
        public MoveTarget Target { get; internal set; }
        public BattleType Type { get; internal set; }

        #endregion

    }
}